C++高性能编程与系统开发

📚 共计 30 章节
01
C++与高性能计算概述
C++语言发展史 · 系统编程地位 · 高性能核心概念 · 学习路线图
基础导论
02
编译工具链与构建系统
GCC/Clang详解 · Makefile · CMake · 静态/动态库构建
工具构建
03
内存模型与布局
栈与堆 · 内存对齐 · 结构体/类布局 · 大小端模式
内存底层
04
指针与引用深度剖析
原始指针 · 智能指针 · 性能对比 · 悬空/野指针
指针RAII
05
左值右值与移动语义
左值右值 · 移动构造/赋值 · 完美转发 · std::move/forward
C++11语义
06
RAII与资源管理
RAII哲学 · 智能指针实现 · 自定义RAII类 · 资源获取即初始化
RAII资源
07
标准模板库(STL)核心
容器选型 · 迭代器失效 · 算法复杂度 · vector/list/map
STL容器
08
字符串处理与优化
std::string底层 · SSO优化 · 拼接性能 · 自定义字符串类
字符串优化
09
异常安全编程
异常机制 · 安全保证级别 · noexcept · 异常与性能权衡
异常安全
10
面向对象与多态
虚函数表 · 性能开销 · CRTP · 接口设计原则
OOP多态
11
模板元编程基础
函数/类模板 · 特化与偏特化 · 变参模板 · SFINAE
模板元编程
12
constexpr与编译期计算
constexpr函数/变量 · 编译期字符串 · 模板结合 · 性能优化
编译期constexpr
13
Lambda表达式与函数式编程
捕获机制 · 泛型Lambda · std::function/bind · 函数式范式
Lambda函数式
14
并发编程基础
线程创建 · 互斥锁/条件变量 · 死锁预防 · async/future
并发线程
15
原子操作与无锁编程
std::atomic · 内存序 · 无锁数据结构 · ABA问题
原子无锁
16
线程池与任务系统
线程池设计 · 工作窃取 · 任务调度 · C++20协程初探
线程池协程
17
I/O性能优化
文件I/O缓冲 · mmap · 异步I/O · 零拷贝技术
I/O性能
18
网络编程基础
Socket封装 · Reactor模式 · epoll/io_uring · 高性能框架
网络Reactor
19
序列化与反序列化
二进制序列化 · Protobuf · JSON性能 · 自定义方案
序列化协议
20
内存池与分配器
自定义分配器 · 内存池设计 · 伙伴算法 · tcmalloc/jemalloc
内存池分配器
21
缓存友好编程
CPU缓存层级 · 缓存行/伪共享 · 数据局部性 · 分支预测
缓存优化
22
SIMD与向量化
SSE/AVX · 自动向量化 · 手写SIMD · 性能收益
SIMD向量化
23
性能分析工具
gprof/perf · Valgrind · 火焰图 · VTune/AMD uProf
分析工具
24
代码优化策略
编译器选项 · 内联/LTO · 循环展开 · PGO优化
优化编译
25
设计模式在C++中的应用
单例线程安全 · 工厂 · 观察者 · 策略模式
设计模式架构
26
大型项目架构
模块化 · 接口/实现分离 · 依赖注入 · 插件系统
架构模块
27
测试与质量保障
Google Test · Mock技术 · 代码覆盖率 · 持续集成
测试CI
28
C++20/23新特性
概念/约束 · 范围库 · 协程 · 模块 · span/format
C++20现代
29
跨平台开发实践
Win/Linux/macOS差异 · 条件编译 · 构建系统 · ABI兼容
跨平台兼容
30
综合实战:高性能日志库设计
需求分析 · 架构设计 · 基准测试 · 完整实现与优化
实战日志